home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-03
/
qbwiz13.zip
/
QBWIZ.DOC
< prev
next >
Wrap
Text File
|
1992-07-15
|
6KB
|
152 lines
The QuickBasic Wizard's Library
QBWiz Copyright (c) 1990-1992 Thomas G. Hanlin III
This is QBWiz, an assembly language library for use with
QuickBasic and BASCOM. It was tested under QB 4.5 and is
expected to work with QuickBasic versions 4.0 - 4.5 and BASCOM
6.0. Due to strong dependency on the internals of the
compiler, QBWiz may well not work with other versions. QBWiz
is only for stand-alone compiled programs. It will not work
with programs that require the runtime module (BRUNxx) or
inside the QB environment.
The QBWiz collection is copyrighted and may be distributed only
if the following conditions are met:
All files must be included in original, unaltered condition.
This means that none of the original files may be altered,
and that no additions or deletions may be made to the set of
original files.
You use this library at your own risk. It has been tested by
me on my own computer, but I will not assume any responsibility
for any problems which QBWiz may cause you. If you do
encounter a problem, please let me know about it, and I will do
my best to verify and repair the error.
The accompanying source code is designed for the MASM 6.0
assembler and may require modifications to assemble with A86,
OPTASM, or TASM.
Note that QBWiz will work only with stand-alone compiled BASIC
programs, that is, programs compiled with the /O switch.
The QBWiz library provides a way to access many of QuickBasic's
internal variables, which is useful in general and can be
especially handy in writing generic subprograms. The
information provided allows subprograms to do whatever they may
need to do and reset the original values when they exit. Among
the information that may be accessed is what the current screen
colors are, whether the cursor is visible (and if so, what size
it is), what the current display pages are, whether redirection
is in effect, and so forth. It is also possible to set certain
values, like the error level to return to DOS when your program
finishes.
Replacements for BCOM45.LIB:
These routines will not work with Crescent's P.D.Q. library,
which does not maintain internal compatibility with the
standard BASIC library. However, with the exception of the
PrinterWidth% function, they work fine with my QBTiny library.
Libraries
If you are not familiar with libraries, you're missing a good
thing. A library is a collection of routines. These may be
subprograms or functions written in BASIC and compiled to .OBJ
format, assembly language routines, or even routines written in
Microsoft C, Fortran or Pascal using the "mixed language"
calling conventions. When your program is compiled, you can
LINK it with one or more libraries. The LINK utility will
automatically take the routines that you use from the library
and add them to your program. A library is a great way to put
together a set of standard routines which you use frequently.
Libraries of this sort can also be obtained from your local BBS
or purchased outright. There are many, many libraries
available, ranging from special-purpose collections containing
such things as communications support or dBASE access to
full-spectrum libraries with hundreds of routines of all kinds.
Don't miss out-- scan your local BBS today!
If you were to LINK a normal BASIC program, you'd probably type
something like this:
LINK program/EX;
To use the functions in the provided QBWIZ.LIB, you would type
something like this instead:
LINK program/EX,,NUL,QBWIZ;
You can use multiple libraries very easily:
LINK program/EX,,NUL,QBWIZ+anylib;
QuickBasic Access Functions
The QuickBasic Access Functions are contained in the QBWIZ.LIB
library. The function declaration information for this library
is contained in QBWIZ.BI, which should be included at the top
of your programs. Either copy QBWIZ.BI directly into your
program or use an include statement:
REM $INCLUDE: 'QBWIZ.BI'
These functions allow you to obtain information from
QuickBasic's internal variables. Many useful values can be
obtained this way that would not be available otherwise.
The following functions are available:
ActPage% active display page
BackColor% current text background color
BorderColor% current border color
ColorBurst% whether color burst is on: 0 no, -1 yes
CommandLine$ original command line
CRT$ type of display adapter
CursorStart% starting cursor scan line
CursorStop% ending cursor scan line
DefSeg% data segment defined by DEF SEG
ForeColor% current text foreground color
PrinterWidth% width of the printer (columns)
RedirIn% whether input is redirected: 0 no, -1 yes
RedirOut% whether output is redirected: 0 no, -1 yes
ScreenHeight% height of the screen (rows)
ScreenMode% current BASIC screen mode
ScreenWidth% width of the screen (columns)
ShowCursor% whether the cursor is visible: 0 no, -1 yes
ViewBottom% bottom row of the screen (VIEW PRINT info)
ViewTop% top row of the screen (VIEW PRINT info)
VisPage% visible display page
QuickBasic Access Subprograms
The QuickBasic Access Subprograms are contained in the
QBWIZ.LIB library. The function declaration information for
this library is contained in QBWIZ.BI, which should be
included at the top of your programs. Either copy QBWIZ.BI
directly into your program or use an include statement:
REM $INCLUDE: 'QBWIZ.BI'
These subprograms allow you to alter information in
QuickBasic's internal variables. This allows you to accomplish
some things that might not otherwise be possible.
The following subprograms are available:
ErrLevel x% error level to return to DOS when program ends
(x% may be from 0 - 255)